home *** CD-ROM | disk | FTP | other *** search
/ SGI Freeware 2002 November / SGI Freeware 2002 November - Disc 1.iso / dist / fw_gawk.idb / usr / freeware / share / awk / gettime.awk.z / gettime.awk
Text File  |  2002-07-08  |  2KB  |  63 lines

  1. # gettimeofday.awk --- get the time of day in a usable format
  2. #
  3. # Arnold Robbins, arnold@gnu.org, Public Domain, May 1993
  4. #
  5.  
  6. # Returns a string in the format of output of date(1)
  7. # Populates the array argument time with individual values:
  8. #    time["second"]       -- seconds (0 - 59)
  9. #    time["minute"]       -- minutes (0 - 59)
  10. #    time["hour"]         -- hours (0 - 23)
  11. #    time["althour"]      -- hours (0 - 12)
  12. #    time["monthday"]     -- day of month (1 - 31)
  13. #    time["month"]        -- month of year (1 - 12)
  14. #    time["monthname"]    -- name of the month
  15. #    time["shortmonth"]   -- short name of the month
  16. #    time["year"]         -- year modulo 100 (0 - 99)
  17. #    time["fullyear"]     -- full year
  18. #    time["weekday"]      -- day of week (Sunday = 0)
  19. #    time["altweekday"]   -- day of week (Monday = 0)
  20. #    time["dayname"]      -- name of weekday
  21. #    time["shortdayname"] -- short name of weekday
  22. #    time["yearday"]      -- day of year (0 - 365)
  23. #    time["timezone"]     -- abbreviation of timezone name
  24. #    time["ampm"]         -- AM or PM designation
  25. #    time["weeknum"]      -- week number, Sunday first day
  26. #    time["altweeknum"]   -- week number, Monday first day
  27.  
  28. function gettimeofday(time,    ret, now, i)
  29. {
  30.     # get time once, avoids unnecessary system calls
  31.     now = systime()
  32.  
  33.     # return date(1)-style output
  34.     ret = strftime("%a %b %d %H:%M:%S %Z %Y", now)
  35.  
  36.     # clear out target array
  37.     delete time
  38.  
  39.     # fill in values, force numeric values to be
  40.     # numeric by adding 0
  41.     time["second"]       = strftime("%S", now) + 0
  42.     time["minute"]       = strftime("%M", now) + 0
  43.     time["hour"]         = strftime("%H", now) + 0
  44.     time["althour"]      = strftime("%I", now) + 0
  45.     time["monthday"]     = strftime("%d", now) + 0
  46.     time["month"]        = strftime("%m", now) + 0
  47.     time["monthname"]    = strftime("%B", now)
  48.     time["shortmonth"]   = strftime("%b", now)
  49.     time["year"]         = strftime("%y", now) + 0
  50.     time["fullyear"]     = strftime("%Y", now) + 0
  51.     time["weekday"]      = strftime("%w", now) + 0
  52.     time["altweekday"]   = strftime("%u", now) + 0
  53.     time["dayname"]      = strftime("%A", now)
  54.     time["shortdayname"] = strftime("%a", now)
  55.     time["yearday"]      = strftime("%j", now) + 0
  56.     time["timezone"]     = strftime("%Z", now)
  57.     time["ampm"]         = strftime("%p", now)
  58.     time["weeknum"]      = strftime("%U", now) + 0
  59.     time["altweeknum"]   = strftime("%W", now) + 0
  60.  
  61.     return ret
  62. }
  63.